"""
StrOutputParser解析器将模型的输出直接转换为字符串格式
主要功能
简单字符串解析：将模型的输出直接转换为字符串格式
基本输出处理：去除多余的空白字符和格式化内容
通用适配：适用于大多数不需要特殊格式化的基本问答场景
"""
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate
import langchain
from models import get_ds_model_client

langchain.debug = True
messages = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template("你是一个专业的程序员"),
                                             HumanMessagePromptTemplate.from_template("{input}")])
client = get_ds_model_client()
parser = StrOutputParser()

chain = messages | client | parser
print(chain.invoke({"input": "请简洁的回答langchain是什么? "}))